package com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.mapper;


import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowFunctionConfig;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface FlowFunctionConfigDAO {

    /**
     * 保存自定义函数配置
     *
     * @param flowFunctionConfig
     * @return int
     */
    int saveFunctionConfig(FlowFunctionConfig flowFunctionConfig);

    /**
     * 更新自定义函数配置
     *
     * @param flowFunctionConfig
     * @return int
     */
    int updateFunctionConfig(FlowFunctionConfig flowFunctionConfig);

    /**
     * 删除自定义函数配置
     * @param ids
     * @return
     */
    int deleteFunctionConfig(List<Integer> ids);
    /**
     * 获取自定义函数配置
     *
     * @return List<FlowFunctionConfig>
     */
    List<FlowFunctionConfig> getAllFunctionConfigList();

    /**
     * 获取自定义函数配置
     *
     * @return List<FlowFunctionConfig>
     */
    List<FlowFunctionConfig> getFunctionConfigByFunName(@Param("functionName") String functionName);

    /**
     * 根据id获取自定义函数配置
     *
     * @return List<FlowFunctionConfig>
     */
    FlowFunctionConfig getFlowFunctionConfigInfoByFunctionId(@Param("id") String functionId);

    /**
     * 根据code获取自定义函数配置
     *
     * @return List<FlowFunctionConfig>
     */
    FlowFunctionConfig getFlowFunctionConfigInfoByFunctionCode(@Param("functionCode") String functionCode);


}
